{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> 作者：Emmanuelle Gouillart"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "与了解Numpy和Scipy中的所有函数相比，通过文档和可用的帮助快捷地找到信息更重要。这里是获得信息的一些方式：\n",
    "\n",
    "- 在Ipython中，`help 方法`打开函数的文档字符串。只需要输入函数名的起始字母，使用tab完成来显示匹配到的函数。\n",
    "\n",
    "```python\n",
    "In [204]: help np.v\n",
    "np.vander     np.vdot       np.version    np.void0      np.vstack\n",
    "np.var        np.vectorize  np.void       np.vsplit\n",
    "\n",
    "In [204]: help np.vander\n",
    "\n",
    "```\n",
    "\n",
    "在Ipython中无法为帮助和问答打开一个独立的窗口；但是，可以打开另一个Ipython shell仅显示帮助和文档字符串...\n",
    "\n",
    "- Numpy和Scipy的文档可以在线查看http://docs.scipy.org/doc 。两个包的参考文档(http://docs.scipy.org/doc/numpy/reference/ 和 http://docs.scipy.org/doc/scipy/reference/) 中的搜索按钮非常有用。\n",
    "\n",
    "在这个网站上也可以找到不同主题的教程以及所有文档完整的API。\n",
    "![](http://www.scipy-lectures.org/_images/scipy_doc.png)\n",
    "\n",
    "- Numpy和Scipy的文档由用户在wiki http://docs.scipy.org/doc/numpy/ 上定期丰富和更新。因此，一些API文档(docstrings)在wiki上更清晰 详尽，你可能更想在wiki上读取文档而不是在官方文档网站上。注意任何人都可以在wiki上创建一个帐号来写更好的文档；这是为开源项目做贡献以及改善你所使用的工具的简单方式！\n",
    "\n",
    "![](http://www.scipy-lectures.org/_images/docwiki.png)\n",
    "\n",
    "- Scipy central http://central.scipy.org/ 给出了许多常见问题的做法，比如拟合数据点，求解ODE等。\n",
    "\n",
    "- Matplotlib网站 http://matplotlib.org/ 以一个拥有大量图表的非常漂亮的***画廊***为特色，每个图表都显示了源代码及生成的图表。这对于通过例子来学习非常有帮助。在网站上也可以找到更多的标准文档。\n",
    "\n",
    "![](http://www.scipy-lectures.org/_images/matplotlib.png)\n",
    "\n",
    "\n",
    "最后，两个更加“技术”的可能性也非常有用：\n",
    "\n",
    "- 在Ipython中，魔法函数`%psearch`搜索匹配模式的对象。例如，如果不知道函数的准确名称，这将非常有用。\n",
    "\n",
    "```python\n",
    "\n",
    "In [3]: import numpy as np\n",
    "In [4]: %psearch np.diag*\n",
    "np.diag\n",
    "np.diagflat\n",
    "np.diagonal\n",
    "\n",
    "```\n",
    "\n",
    "- `numpy.lookfor` 查找指定模块文档字符串中的关键字。\n",
    "\n",
    "```python\n",
    "\n",
    "In [45]: numpy.lookfor('convolution')\n",
    "Search results for 'convolution'\n",
    "--------------------------------\n",
    "numpy.convolve\n",
    "    Returns the discrete, linear convolution of two one-dimensional\n",
    "sequences.\n",
    "numpy.bartlett\n",
    "    Return the Bartlett window.\n",
    "numpy.correlate\n",
    "    Discrete, linear correlation of two 1-dimensional sequences.\n",
    "In [46]: numpy.lookfor('remove', module='os')\n",
    "Search results for 'remove'\n",
    "---------------------------\n",
    "os.remove\n",
    "    remove(path)\n",
    "os.removedirs\n",
    "    removedirs(path)\n",
    "os.rmdir\n",
    "    rmdir(path)\n",
    "os.unlink\n",
    "    unlink(path)\n",
    "os.walk\n",
    "    Directory tree generator.\n",
    "\n",
    "```\n",
    "\n",
    "\n",
    "- 如果上面列出的所有方法都失败了（并且Google也没有答案）... 不要绝望！你的问题适合向邮件组写一封邮件：如果你很好的描述了你的问题，那么你应该会很快得到答案。Python科学计算的专家经常通过邮件组给出非常有启发性的解释。\n",
    "    - Numpy讨论（numpy-discussion@scipy.org）: 全部是关于Numpy数组，操作数据，索引等问题。\n",
    "    - SciPy用户列表（scipy-user@scipy.org）: 用Python进行科学计算，高级数据处理，特别是scipy包的使用。\n",
    "    - [matplotlib-users@lists.sourceforge.net](matplotlib-users@lists.sourceforge.net) 用matplotlib绘图。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.1"
  },
  "toc": {
   "colors": {
    "hover_highlight": "#DAA520",
    "navigate_num": "#000000",
    "navigate_text": "#333333",
    "running_highlight": "#FF0000",
    "selected_highlight": "#FFD700",
    "sidebar_border": "#EEEEEE",
    "wrapper_background": "#FFFFFF"
   },
   "moveMenuLeft": true,
   "nav_menu": {
    "height": "12px",
    "width": "252px"
   },
   "navigate_menu": true,
   "number_sections": true,
   "sideBar": true,
   "threshold": 4,
   "toc_cell": false,
   "toc_section_display": "block",
   "toc_window_display": false,
   "widenNotebook": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
